package com.jh.paymentchannel.payment;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;

import static io.jsonwebtoken.lang.Strings.hasText;

/**
 * @author Yichuan
 * @version 1.0
 */
public class ShopRegisterDTO {

    private Long id;
    private Long userId;
    private String shopId;
    private Integer isJfPos;
    private String shopName;
    private String shopShortName;
    private String shopRegisterName;
    private String shopProvinces;
    private String shopCity;
    private String shopAreas;
    private String shopAddress;
    private String shopUserName;
    private String shopUserEmail;
    private String shopUserPhone;
    private String shopCustomerPhone;
    private String industryCategory;
    private Integer shopType;
    private String shopIdNumber;
    private Date shopIdNumExTime;
    private String shopIdNumExTimeStr;
    private Integer settleAccountType;
    private Integer idNumberType;
    private String legalName;
    private String legalIdNumber;
    private Date legalExTime;
    private String legalExTimeStr;
    private String settleAccountName;
    private String settleAccountNumber;
    private String bankPhone;
    private String settleBank;
    private String settleBankAddress;
    private String settleBranchBank;
    private BigDecimal payRate;
    private String remark;
    private String businessPic;
    private String legalIdPic;
    private String legalIdBackPic;
    private String shopHeadPic;
    private String firstPic;
    private String accountPic;
    private String relationshipPic;
    private String merchantPic;
    private String  verifyRemark;
    private String alipayAppId;
    private String wechatAppId;
    private String alipayChannelRate;
    private String wechatChannelRate;
    private String wechatSwitch;
    private String alipaySwitch;
    private Integer status;
    private Date createTime;

    public ShopRegisterDTO() {
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getShopId() {
        return shopId;
    }

    public void setShopId(String shopId) {
        this.shopId = shopId;
    }

    public Integer getIsJfPos() {
        return isJfPos;
    }

    public void setIsJfPos(Integer isJfPos) {
        this.isJfPos = isJfPos;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public String getShopShortName() {
        return shopShortName;
    }

    public void setShopShortName(String shopShortName) {
        this.shopShortName = shopShortName;
    }

    public String getShopRegisterName() {
        return shopRegisterName;
    }

    public void setShopRegisterName(String shopRegisterName) {
        this.shopRegisterName = shopRegisterName;
    }

    public String getShopProvinces() {
        return shopProvinces;
    }

    public void setShopProvinces(String shopProvinces) {
        this.shopProvinces = shopProvinces;
    }

    public String getShopCity() {
        return shopCity;
    }

    public void setShopCity(String shopCity) {
        this.shopCity = shopCity;
    }

    public String getShopAreas() {
        return shopAreas;
    }

    public void setShopAreas(String shopAreas) {
        this.shopAreas = shopAreas;
    }

    public String getShopAddress() {
        return shopAddress;
    }

    public void setShopAddress(String shopAddress) {
        this.shopAddress = shopAddress;
    }

    public String getShopUserName() {
        return shopUserName;
    }

    public void setShopUserName(String shopUserName) {
        this.shopUserName = shopUserName;
    }

    public String getShopUserEmail() {
        return shopUserEmail;
    }

    public void setShopUserEmail(String shopUserEmail) {
        this.shopUserEmail = shopUserEmail;
    }

    public String getShopUserPhone() {
        return shopUserPhone;
    }

    public void setShopUserPhone(String shopUserPhone) {
        this.shopUserPhone = shopUserPhone;
    }

    public String getShopCustomerPhone() {
        return shopCustomerPhone;
    }

    public void setShopCustomerPhone(String shopCustomerPhone) {
        this.shopCustomerPhone = shopCustomerPhone;
    }

    public String getIndustryCategory() {
        return industryCategory;
    }

    public void setIndustryCategory(String industryCategory) {
        this.industryCategory = industryCategory;
    }

    public Integer getShopType() {
        return shopType;
    }

    public void setShopType(Integer shopType) {
        this.shopType = shopType;
    }

    public String getShopIdNumber() {
        return shopIdNumber;
    }

    public void setShopIdNumber(String shopIdNumber) {
        this.shopIdNumber = shopIdNumber;
    }

    public Date getShopIdNumExTime() {
        return shopIdNumExTime;
    }

    public void setShopIdNumExTime(Date shopIdNumExTime) {
        this.shopIdNumExTime = shopIdNumExTime;
    }

    public String getShopIdNumExTimeStr() {
        return shopIdNumExTimeStr;
    }

    public void setShopIdNumExTimeStr(String shopIdNumExTimeStr) {
        this.shopIdNumExTimeStr = shopIdNumExTimeStr;
    }

    public Integer getSettleAccountType() {
        return settleAccountType;
    }

    public void setSettleAccountType(Integer settleAccountType) {
        this.settleAccountType = settleAccountType;
    }

    public Integer getIdNumberType() {
        return idNumberType;
    }

    public void setIdNumberType(Integer idNumberType) {
        this.idNumberType = idNumberType;
    }

    public String getLegalName() {
        return legalName;
    }

    public void setLegalName(String legalName) {
        this.legalName = legalName;
    }

    public String getLegalIdNumber() {
        return legalIdNumber;
    }

    public void setLegalIdNumber(String legalIdNumber) {
        this.legalIdNumber = legalIdNumber;
    }

    public Date getLegalExTime() {
        return legalExTime;
    }

    public void setLegalExTime(Date legalExTime) {
        this.legalExTime = legalExTime;
    }

    public String getLegalExTimeStr() {
        return legalExTimeStr;
    }

    public void setLegalExTimeStr(String legalExTimeStr) {
        this.legalExTimeStr = legalExTimeStr;
    }

    public String getSettleAccountName() {
        return settleAccountName;
    }

    public void setSettleAccountName(String settleAccountName) {
        this.settleAccountName = settleAccountName;
    }

    public String getSettleAccountNumber() {
        return settleAccountNumber;
    }

    public void setSettleAccountNumber(String settleAccountNumber) {
        this.settleAccountNumber = settleAccountNumber;
    }

    public String getBankPhone() {
        return bankPhone;
    }

    public void setBankPhone(String bankPhone) {
        this.bankPhone = bankPhone;
    }

    public String getSettleBank() {
        return settleBank;
    }

    public void setSettleBank(String settleBank) {
        this.settleBank = settleBank;
    }

    public String getSettleBankAddress() {
        return settleBankAddress;
    }

    public void setSettleBankAddress(String settleBankAddress) {
        this.settleBankAddress = settleBankAddress;
    }

    public String getSettleBranchBank() {
        return settleBranchBank;
    }

    public void setSettleBranchBank(String settleBranchBank) {
        this.settleBranchBank = settleBranchBank;
    }

    public BigDecimal getPayRate() {
        return payRate;
    }

    public void setPayRate(BigDecimal payRate) {
        this.payRate = payRate;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getBusinessPic() {
        return businessPic;
    }

    public void setBusinessPic(String businessPic) {
        this.businessPic = businessPic;
    }

    public String getLegalIdPic() {
        return legalIdPic;
    }

    public void setLegalIdPic(String legalIdPic) {
        this.legalIdPic = legalIdPic;
    }

    public String getLegalIdBackPic() {
        return legalIdBackPic;
    }

    public void setLegalIdBackPic(String legalIdBackPic) {
        this.legalIdBackPic = legalIdBackPic;
    }

    public String getShopHeadPic() {
        return shopHeadPic;
    }

    public void setShopHeadPic(String shopHeadPic) {
        this.shopHeadPic = shopHeadPic;
    }

    public String getFirstPic() {
        return firstPic;
    }

    public void setFirstPic(String firstPic) {
        this.firstPic = firstPic;
    }

    public String getAccountPic() {
        return accountPic;
    }

    public void setAccountPic(String accountPic) {
        this.accountPic = accountPic;
    }

    public String getRelationshipPic() {
        return relationshipPic;
    }

    public void setRelationshipPic(String relationshipPic) {
        this.relationshipPic = relationshipPic;
    }

    public String getMerchantPic() {
        return merchantPic;
    }

    public void setMerchantPic(String merchantPic) {
        this.merchantPic = merchantPic;
    }

    public String getVerifyRemark() {
        return verifyRemark;
    }

    public void setVerifyRemark(String verifyRemark) {
        this.verifyRemark = verifyRemark;
    }

    public String getAlipayAppId() {
        return alipayAppId;
    }

    public void setAlipayAppId(String alipayAppId) {
        this.alipayAppId = alipayAppId;
    }

    public String getWechatAppId() {
        return wechatAppId;
    }

    public void setWechatAppId(String wechatAppId) {
        this.wechatAppId = wechatAppId;
    }

    public String getAlipayChannelRate() {
        return alipayChannelRate;
    }

    public void setAlipayChannelRate(String alipayChannelRate) {
        this.alipayChannelRate = alipayChannelRate;
    }

    public String getWechatChannelRate() {
        return wechatChannelRate;
    }

    public void setWechatChannelRate(String wechatChannelRate) {
        this.wechatChannelRate = wechatChannelRate;
    }

    public String getWechatSwitch() {
        return wechatSwitch;
    }

    public void setWechatSwitch(String wechatSwitch) {
        this.wechatSwitch = wechatSwitch;
    }

    public String getAlipaySwitch() {
        return alipaySwitch;
    }

    public void setAlipaySwitch(String alipaySwitch) {
        this.alipaySwitch = alipaySwitch;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public boolean enabledAlipay() {
        return hasText(getAlipayAppId()) && hasText(getAlipaySwitch()) && Objects.equals(getAlipaySwitch(), "1");
    }

    public boolean enabledWechat() {
        return hasText(getWechatAppId()) && hasText(getWechatSwitch()) && Objects.equals(getWechatSwitch(), "1");
    }
}
